#include <stdlib.h> требуется только для объявления функции. char fcvt (value, ndec, decptr, signptr); double value; преобразуемое число. int ndec; количество цифр после десятичной точки. int *decptr; указатель на запомненную позицию десятичной точки. int *signptr; указатель на запомненный индикатор знака.
Описание:
Функция fcvt преобразует число с плавающей точкой в символьную строку. Value - число с плавающей точкой, которое нужно преобразовать. Функция fcvt запоминает цифры из value в виде строки и добавляет к ней нулевой символ ('0\').
В аргументе ndec запоминается количество цифр после десятичной точки.
Если количество цифр после десятичной точки в value превышает ndec , число округляется, как это делается в FORTRAN . Если цифр меньше, чем в ndec, строка дополняется нулями.
В строке хранятся только цифры. Позиция десятичной точки и знак числа value могут быть получены после вызова функции из decptr и signptr . Аргумент decptr указывает на целое значение, задающее позицию десятичной точки, считая от начала строки. 0 или отрицательное целое значение означают, что десятичная точка лежит левее самой первой цифры. Аргумент signptr указывает на целое значение, определяющее знак value : если целое signptr установлено в 0, то value - положительное, если целое signptr - ненулевое, то value - отрицательное.
Возвращаемое значение:
Функция fcvt возвращает указатель на строку цифр. Возвращаемого значения в случае ошибки нет.
Замечание!
Функции ecvt и fcvt используют для преобразования один и тот же статически распределенный буфер. Каждое обращение к одной из этих процедур уничтожает результат предыдущего обращения.
Пример.
#include <stdlib.h> int decimal, sign; char *buffer; int precision = 10; buffer = fcvt (3.1415926535, precision,&decimal,&sign); /*buffer ="31415926535", decimal=1, sign=0*/